/*
 * @Descripttion: 
 * @version: 
 * @Author: 某人
 * @Date: 2021-04-28 13:43:50
 */
/**
 * @name: Input只能输入正整数
 * @param {object} obj 外层的对象
 * @param {string} value 当前输入的值 
 * @param {name} key 修改的key值
 * @param {number} maxLength 输入的数字最大位数
 **/
function formatInputInt(obj, value, name, maxLength=6) {
  const reg = /^\+?[1-9][0-9]*$/
  value = String(value).replace(/[, ]/g, '')
  if (value == 0) {
    value = ''
  }
  if (value) {
    if (reg.test(value)) {
      obj[name] = Math.abs(Number(value))
      if (value.length > maxLength) {
        obj[name] = value.substring(0, maxLength)
      }
    } else {
      const r = /[^0-9 ]*/g
      obj[name] = value.replace(r, '')
    }
  } else {
    obj[name] = value
  }
}
/**
 * @name: formatInputDouble
 * @desc: Input只能输入数字，保留两位小数
 * @param {object} obj 外层的对象
 * @param {string} value 当前输入的值
 * @param {name} key 修改的key值
 */
function formatInputDouble(obj, value, name) {
  // 先把非数字的都替换掉，除了数字和.
  value = value.replace(/[^\d.]/g, '')
  // 保证只有出现一个.而没有多个.
  value = value.replace(/\.{2,}/g, '.')
  // 必须保证第一个为数字而不是.
  value = value.replace(/^\./g, '')
  // 保证.只出现一次，而不能出现两次以上
  value = value
    .replace('.', '$#$')
    .replace(/\./g, '')
    .replace('$#$', '.')
  // 只能输入两个小数
  value = value.replace(/^(-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
  obj[name] = value
}